Increasing numbers of small, mobile multipurpose devices, such as mobile phones, smartphones, tablet and/or pad devices, may include high-resolution, small form factor cameras and are capable of receiving and processing image (or video) input. Additionally, the device may be capable of performing at least some processing/rendering of the graphical input (e.g., video frames), such as format conversion, window compositing, blending, scaling, and/or color correction.
When recording a scene captured frames may reflect camera motion (e.g., caused by a shaking hand, walking, or other types of disruptions). In some cases, artifact removal and/or image stabilization techniques may be applied to reduce the amount of motion exhibited in the captured images and/or to reduce the effects of motion caused by the camera's rolling shutter.
For instance, digital cameras, such as complementary metal-oxide-semiconductor (CMOS) cameras, frequently employ a method of image acquisition in which each frame is recorded by scanning across the frame row by row from top to bottom (or column by column across the frame) rather than by taking a single snapshot of the entire scene at a single point in time. Thus, not all parts of the image may be recorded at the same time. This method of image acquisition is sometimes called rolling shutter, because the shutter is moving (e.g., rolling) across the image area of the scene.
Due to the rolling shutter, visual distortions may be introduced and may be visually apparent when the entire image is displayed. In general, any movement of the camera as the image is captured may result in a warping or distortion of the image. Images captured using rolling shutter acquisition may exhibit different types of visual effects or distortions. One type of distortion may be caused by the camera not being held completely still throughout the entire process of scanning a frame. If the camera is moving horizontally, the image gets sheared. If the camera moves vertically, image is stretched or compressed.